# 引入合适的包
import cv2 as cv
import matplotlib.pyplot as plt

img_bgr = cv.imread("earth.jpg", 1)  # 用OpenCV以BGR的形式读入 earth.jpg
img_rgb = cv.cvtColor(img_bgr, cv.COLOR_RGB2BGR)  # BGR -> RGB
img_gray = cv.imread("earth.jpg", 0)  # 用OpenCV以灰度图的形式读入 earth.jpg

# 定义一个双子图画板
# 画板的大小设置为高10宽20，即加一个参数:figsize=(10,20)
fg, ax = plt.subplots(1, 3, figsize=(10, 20))

ax[0].imshow(img_bgr)
plt.show()  # 第1个子图显示BGR图
ax[1].imshow(img_rgb)
plt.show()  # 第2个子图显示RGB图
plt.imshow(img_gray, cmap='gray')
plt.show()  # 第3个子图以灰白色调显示灰度图

plt.tight_layout()  # 调整多子图位置
# plt.show() #显示最终效果，因为要保存最终效果，所以该句话被注释掉了

# 把最终结果通过 matplotlib 保存到 result_earth.png 文件中，要包裹好最终的结果
plt.savefig('result_earth.png', bbox_inches='tight')
